The present invention relates to the field of networked devices. Specifically, the present invention relates to a device and method for identifying an active IEEE 1394-1995/P1394a node attached to an IEEE 1394b network and indicate its presence to the 1394b network.
One conventional technique for media to share a high performance serial bus can be found in the IEEE Std 1394-1995 specification and the amendment to that specification 1394a-2000 (herewithin both may be referred to as the 1394a standard). Devices which conform to that standard may be known as 1394a compliant devices. A second technique for media to share a high speed serial bus is contemplated in the as yet uncompleted IEEE P1394b (herewithin 1394b standard). Devices which conform to the latter specification may be known as 1394b compliant devices. A need exists for a method which allows both 1394a compliant devices and 1394b compliant devices to share the same bus despite the different standards to which they conform.
Creating such a method and device is problematic because the two standards define different bus arbitration mechanisms. FIG. 1A illustrates an exemplary sequence of bus transfers according to the 1394a standard. The sequence includes an A fairness interval 202, during which each device has an opportunity to transfer exactly one packet 208. After a device transfers a packet 208, it must wait for a new A fairness interval 202 to begin, which is indicated by an arbitration reset gap 204. Thus, once device A has transferred its first packet 208 it must wait for the arbitration reset gap 204 to transfer a second packet 208. A device which has not yet transferred a packet 208 in a given A fairness interval 202 only needs to wait for a subaction gap 206, which is shorter than an arbitration reset gap 204.
A further characteristic of the 1394a standard is that a device may not request bus access until the arbitration reset gap 204 or subaction gap 206 has completed, depending upon whether the device has transferred a packet 208 in the A fairness interval 202 or not. After the request, there may be a time lag before that device is granted bus access. Another characteristic of the 1394a standard is that the same device (node) always serves as the root node once selected after a bus reset.
FIG. 1B illustrates an exemplary sequence of bus transfers according to the 1394b standard. Included in the sequence is a B fairness interval 212 during which each device has an opportunity to transfer exactly one packet 208. After a device transfers a packet 208, it must wait for a new B fairness interval 212 to begin. However, the 1394b standard does not call for arbitration reset gaps (FIG. 1A, 204). Furthermore, the 1394b standard allows a device to issue a request for bus access while another device is still transferring a packet 208. Consequently, the delay between devices transferring packets 208 may be less than occurs under the 1394a standard. The 1394a standard also calls for bus grants 210, although they are not shown in FIG. 1A. An additional difference between the two standards is that in the 1394b standard, the last device to transfer a packet 208 serves as the arbitrator. Other differences exits between the two standards as well.
If a network is to comprise nodes that comply with different standards, then it is desirable to inform nodes of at least one type that the network comprises nodes of different types. One conventional notification method uses special signals to communicate this information to nodes. However, generating special signals is cumbersome and inefficient.
Thus, a need has arisen for a method and device that allow 1394b compliant devices to be aware that 1394a compliant devices are connected to the same communication link. A further need exists for such a method and device which is efficient and is compliant with IEEE standards.
Embodiments of the present invention provide a method and device for efficiently notifying a 1394b network of nodes that a 1394a node is actively attached to a border node that is, in turn, attached to the 1394b network. Embodiments provide for such a method and device that is both efficient and is compliant with the framework of the IEEE 1394 standards.
A method and device for identifying that a 1394a node is actively attached to a 1394b network and indicating so to the 1394b network is disclosed. In one embodiment, a border node first determines that a 1394a node is actively attached to the border node. Then, the border node sets a reserved bit in a self-identification packet, indicating the active presence of the 1394a node. Then, during the self-identification process, the border node transmits the self-identification packet into a 1394b network, indicating to all 1394b nodes in the 1394b network that there is a border node with an active connection to a 1394a node. Next, the 1394b nodes in the 1394b network of compliant devices alter their behavior for arbitration purposes, such that an 1394a network and a 1394b network may share a communication link.